博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
动态menu导航条以及treeview树
阅读量:4969 次
发布时间:2019-06-12

本文共 5437 字,大约阅读时间需要 18 分钟。

1.menu表数据

2.在后台生成html内容后,前台利用nav-h.css生成menu导航条,利用Jquery的treeview插件生成menu树

前台coding:

   

后台coding:

protected void Page_Load(object sender, EventArgs e)        {            if (!IsPostBack)            {                string menuHtml = string.Empty;                menuHtml = BuildMenuWithRoot(null, string.Empty, "Tree");                tree.InnerHtml = menuHtml;                menuHtml = BuildMenuWithRoot(null, string.Empty, "Menu");                menu.InnerHtml = menuHtml;            }        }        public string BuildMenuWithRoot(int? parentId, string str, string type)        {            IEnumerable
menus = GetMenuByParentId(parentId); foreach (menu m in menus) { try { str += "
  • " + m.Description + ""; str += BuildMenuWithRoot(m.Id, string.Empty, type); str += "
  • "; } catch { } } string idstr = string.Empty; if (type == "Menu") idstr = " id=\"nav\""; else if (type == "Tree") idstr = " id=\"menuTree\""; if (menus.Count() > 0) str = "
    " + str+""; return str; } public IEnumerable
    GetMenuByParentId(int? parentId) { WorkPermitDataContext db = new WorkPermitDataContext(); var query = from m in db.menus where (parentId != null && m.ParentId == parentId) || (parentId == null && m.ParentId == null) orderby m.OrderNumber select m; return query.AsEnumerable(); }

    生成的menu树html:

    menu树的浏览器效果:

     

    生成的menu导航条html:

    menu导航的浏览器效果:

     

    3.从上面可以看出,由于其它所有menu都是由root根节点生成,所以显示的树状结构并不符合我们的使用习惯,加以改进

    后台coding:

    public string BuildMenu(int? parentId, string str, string type)        {            IEnumerable
    menus = GetMenuByParentId(parentId); foreach (menu m in menus) { try { if (parentId != null) str += "
  • " + m.Description + ""; str += BuildMenu(m.Id, string.Empty, type); if (parentId != null) str += "
  • "; } catch { } } string idstr = string.Empty; if (menus.Count() > 0) { if (parentId == null) { if (type == "Menu") idstr = "
      "; if (type == "Tree") idstr = "
        "; str = idstr + "
      • Home
      • " + str.Substring(4, str.Length - 9) + "
      "; } else str = "
        " + str + "
      "; } return str; }

    生成的menu树html

    menu树浏览器效果

    生成的menu导航条html

    menu导航条浏览器效果

    4.使用到的treeview插件可从官网下载
    nav-h.css内容如下

    li:hover ul, li.over ul{ display:block;}ul#nav {	position: relative;	}ul#nav ul {	position: absolute; display: none; TOP: 100%; right: 0px;}ul#nav ul ul {	TOP: 0px; right: 100%}ul#nav ul ul ul {	TOP: 0px; right: 100%}ul#nav LI {	position: relative; display: inline; FLOAT: left;}ul#nav ul LI {	 display: block;width:250px}ul#nav A {	 display: block;  background: #ddd; FLOAT: left; HEIGHT: 1%; COLOR: #666; BORDER-TOP: #fff 1px solid; BORDER-RIGHT: #fff 1px solid; TEXT-DECORATION: none; padding:3px 20px}ul#nav A:hover {	background: #bbb; COLOR: #fff}ul#nav LI:hover A {	background: #bbb; COLOR: #fff; }ul#nav LI:hover LI A {	background: #bbb; FLOAT: none ;padding:3px 6px;}ul#nav LI:hover LI A:hover {	background: #999}ul#nav LI:hover LI:hover A {	background: #999}ul#nav LI:hover LI:hover LI A {	background: #999}ul#nav LI:hover LI:hover LI A:hover {	background: #666}ul#nav LI:hover LI:hover LI:hover A {	background: #666}ul#nav LI:hover LI:hover LI:hover LI A {	background: #666}ul#nav LI:hover LI:hover LI:hover LI A:hover {	background: #333}ul#nav LI:hover ul ul {	display: none}ul#nav LI:hover ul ul ul {	display: none}ul#nav LI:hover ul {	display: block}ul#nav ul LI:hover ul {	display: block}ul#nav ul ul LI:hover ul {	display: block}

     

    转载于:https://www.cnblogs.com/sui84/p/6777193.html

    你可能感兴趣的文章
    孤荷凌寒自学python第五十八天成功使用python来连接上远端MongoDb数据库
    查看>>
    求一个字符串中最长回文子串的长度(承接上一个题目)
    查看>>
    简单权限管理系统原理浅析
    查看>>
    springIOC第一个课堂案例的实现
    查看>>
    求输入成绩的平均分
    查看>>
    php PDO (转载)
    查看>>
    wordpress自动截取文章摘要代码
    查看>>
    [置顶] 一名优秀的程序设计师是如何管理知识的?
    查看>>
    scanf和gets
    查看>>
    highcharts 图表实例
    查看>>
    ubuntu下如何查看用户登录及系统授权相关信息
    查看>>
    秋季学期学习总结
    查看>>
    SpringBoot 优化内嵌的Tomcat
    查看>>
    【LaTeX】E喵的LaTeX新手入门教程(1)准备篇
    查看>>
    highcharts曲线图
    查看>>
    extjs动态改变样式
    查看>>
    PL/SQL Developer 查询的数据有乱码或者where 字段名=字段值 查不出来数据
    查看>>
    宏定义
    查看>>
    笔记:git基本操作
    查看>>
    生成php所需要的APNS Service pem证书的步骤
    查看>>